From bfb0bc7a291af8ba75ab3d8c99bc1616e08db536 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jonas=20Dre=C3=9Fler?= Date: Thu, 26 Apr 2018 11:19:40 +0200 Subject: [PATCH] switcherPopup: Implement functions to add and remove accessible states Set the accessible states of the switcherList items by calling a function instead of manipulating class-internal variables from outside the class, which is considered bad practice. The check whether the item at `_selectedIndex` exists can also be removed since we always select a new index after an item was removed (i.e. an app was closed) and destroy the alt-tab switcher right away if no more items exist (see `SwitcherPopup._itemRemovedHandler`). https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/167 --- js/ui/altTab.js | 5 ++--- js/ui/switcherPopup.js | 8 ++++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/js/ui/altTab.js b/js/ui/altTab.js index 0130fa245..12b784939 100644 --- a/js/ui/altTab.js +++ b/js/ui/altTab.js @@ -365,8 +365,7 @@ class AppSwitcherPopup extends SwitcherPopup.SwitcherPopup { }, }); this._thumbnails = null; - if (this._switcherList._items[this._selectedIndex]) - this._switcherList._items[this._selectedIndex].remove_accessible_state(Atk.StateType.EXPANDED); + this._switcherList.removeAccessibleState(this._selectedIndex, Atk.StateType.EXPANDED); } _createThumbnails() { @@ -395,7 +394,7 @@ class AppSwitcherPopup extends SwitcherPopup.SwitcherPopup { }, }); - this._switcherList._items[this._selectedIndex].add_accessible_state(Atk.StateType.EXPANDED); + this._switcherList.addAccessibleState(this._selectedIndex, Atk.StateType.EXPANDED); } }); diff --git a/js/ui/switcherPopup.js b/js/ui/switcherPopup.js index 5f2839cf2..46a4b158a 100644 --- a/js/ui/switcherPopup.js +++ b/js/ui/switcherPopup.js @@ -444,6 +444,14 @@ var SwitcherList = GObject.registerClass({ this.emit('item-removed', index); } + addAccessibleState(index, state) { + this._items[index].add_accessible_state(state); + } + + removeAccessibleState(index, state) { + this._items[index].remove_accessible_state(state); + } + _onItemClicked(index) { this._itemActivated(index); } -- 2.39.5